﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MetadataBasedConfigArch.Framework.Model;

namespace MetadataBasedConfigArch.Framework
{
    public interface IConfigMetadata
    {
        IConfigMeta ConfigMeta { get; }

        ITenant Tenant { get; }

        List<IConfigMetaConfigData> ConfigMetaConfigDatas { get; }

        void Load(ITenant tenant, IConfigMeta configMeta, bool loadData);

        void Load(ITenant tenant, Int64 configMetaID, bool loadData);

        void Load(Int64 tenantID, IConfigMeta configMeta, bool loadData);

        void Load(Int64 tenantID, Int64 configMetaID, bool loadData);

        //List<IConfigMetaConfigInfo> ConfigInfos { get; set; }

        //void Load(Int64 configDataId);  

        //String ConfigMetadataTypeName { get; }
    }
}
